<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title></title>
</head>
<body>
	
	<script type="text/javascript">
		//变量提升:在流浏览器真正解析js代码之前，要做一个预解析的过程。将变量名、方法名提升到当前作用域的最上面
		//var与let区别
		//let声明的变量没有提升
		//let有块级作用域
		//let存在暂时性死区
		
		// console.log(demo)
		// var demo = "123"
		// let demo="1234";
		//=====
		// {
		// 	let box = 122;//块级变量
		// }
		// console.log(box)
		//=====
		// for(let i=0;i<10;i++){
		// 	console.log(i)
		// }	
		// console.log(i)
		//=====
		// var demo;
		// console.log(demo)
		
		//常量：常量一经声明就无法改变常量值 const
		// const pi = 3.1415926
		// console.log(pi)
		
		// const obj={ // 对象 ----复杂数据类型&&传址类型
		// 	name:'张三',
		// 	age:18
		// }
		// obj.name='李四'
		// console.log(obj.name)
		
		//==================
		//模板字符串：传统字符串在使用的时候不能人工换行。
		//处理大量的字符串拼接
		// let str = '<div><h2>我是标题</h2><p>你好</p></div>'
		
		//==================
		//解构赋值：将数组内的元素，或者对象中的值取出来。赋给变量的过程
		// let arr = ['aaa','bbb','ccc']
		// let [a,b,c] = arr
		// console.log(b)
		
		// let obj = {
		// 	name:'张三',
		// 	age:12,
		// 	info:'歌星'
		// }
		// let {name,age,info} = obj
		// console.log(name)
		
		//=========================
		// let strstr = 'welpcome to my web site'
		// let abc = strstr.startsWith('welcome')
		// let cba = strstr.endsWith('site')
		// let start = '*'
		// console.log(abc + '---------' + cba)
		// console.log(start.repeat(5))//打5个*
		// console.log(strstr.includes('m'))//是否包含m
		
		
		//=============================
		// let arr = ['三国演义','水浒传','西游记','红楼梦']//array
		// console.log(...arr)
		
		//================
		//函数的默认参数：直接在函数定义的时候，就给参数赋值
		//rest函数（剩余参数）:将匹配不上的参数，统一管理，匹配不上的东西划到一个数组
		// function run(a,b){
		// 	if(arguments[0]==undefined){
		// 		a=10
		// 	}
		// 	if(arguments[1]==undefined){
		// 		b=100
		// 	}
		// 	return a + b
		// }
		// console.log(run())
		
		// function run2(...val){
		// 	let sum = 0
		// 	for(let i=0;i<val.length;i++){
		// 		sum+=val[i]
		// 	}
		// 	return sum
		// }
		// console.log(run2(100,3,5,22,4,2,1))
		// run2(100,3,5,22,4,2,1)
		
		//==========================
		//扩展运算符：三个点开头
		// let arr = ['名著1','名著2','名著3','名著4']
		// let arr2 = [1,2,3,4]
		// let aarr3 = [...arr,...arr2]
		// console.log(...arr)
		// let book = {name:'刘德华',age:49,info:'四大天王之一'}
		// let demo = {...book,sex:'男士'}
		// book.name="张学友"
		// console.log(demo)
		// console.log(book)
		
		// let obj2={
		// 	name:'张三',
		// 	age:18,
		// 	info:'警察'
		// }
		// let arr2 = Array.from(obj2)//[el,el,el]
		// console.log(arr2)
		
		// let obj3={
		// 	'0':'张三',
		// 	'1':'男',
		// 	'2':'警察',
		// 	'length':3
		// }
		// let arr3 = Array.from(obj3)
		// console.log(arr3)
		
		//set数据结构：数组汇总不能存在重复的内容
		// let aa=new Array()
		// let st=new Set
	</script>
	
</body>
</html>